<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::StateAttribute</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::StateAttribute</A></H2></H2><BLOCKQUOTE>Base class for state attribuets</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=815>
<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CStateAttribute,MStateAttribute.html,CViewport,MViewport.html,CTexture,MTexture.html,CTexMat,MTexMat.html,CTexGen,MTexGen.html,CTexEnv,MTexEnv.html,CStencil,MStencil.html,CShadeModel,MShadeModel.html,CPolygonOffset,MPolygonOffset.html,CPolygonMode,MPolygonMode.html,CPoint,MPoint.html,CMaterial,MMaterial.html,CLineWidth,MLineWidth.html,CLineStipple,MLineStipple.html,CLightModel,MLightModel.html,CLight,MLight.html,CFrontFace,MFrontFace.html,CFog,MFog.html,CDepth,MDepth.html,CCullFace,MCullFace.html,CColorMatrix,MColorMatrix.html,CColorMask,MColorMask.html,CClipPlane,MClipPlane.html,CBlendFunc,MBlendFunc.html,CAlphaFunc,MAlphaFunc.html">
<param name=before value="M,M,M,M|_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,Mr_">
<param name=after value="Md_SP,Md_,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M">
<param name=indent value="0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.119.7">StateAttribute</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.119.8">StateAttribute</A></B>(const <!1><A HREF="StateAttribute.html#DOC.2.119.8">StateAttribute</A>&amp; sa, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.119.9">cloneType</A></B>() const  = 0
<DD><I>Clone the type of an attribute, with Object* return type.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <!1><A HREF="Object.html">Object</A>* <B><A HREF="#DOC.2.119.10">clone</A></B>(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp;) const  = 0
<DD><I>Clone an attribute, with Object* return type.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   bool <B><A HREF="#DOC.2.119.11">isSameKindAs</A></B>(const <!1><A HREF="Object.html">Object</A>* obj) const 
<DD><I>return true if this and obj are of the same kind of object</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const char* <B><A HREF="#DOC.2.119.12">libraryName</A></B>() const 
<DD><I>return the name of the attribute's library</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const char* <B><A HREF="#DOC.2.119.13">className</A></B>() const 
<DD><I>return the name of the attribute's class type</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   const <!1><A HREF="StateAttribute.html#DOC.2.119.5">Type</A> <B><A HREF="#DOC.2.119.14">getType</A></B>() const  = 0
<DD><I>return the Type identifier of the attribute's class type</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   bool <B><A HREF="#DOC.2.119.15">isTextureAttribute</A></B>() const 
<DD><I>return true if StateAttribute is a type which controls texturing and needs to be issued wrt to specific texture unit</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   int <B><A HREF="#DOC.2.119.16">compare</A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; sa) const  = 0
<DD><I>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.119.17">operator <  </A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.119.18">operator == </A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.119.19">operator != </A></B>(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.119.20">getAssociatedModes</A></B>(std::vector&lt;<!1><A HREF="StateAttribute.html#DOC.2.119.1">GLMode</A>&gt;&amp; ) const 
<DD><I>return the modes associated with this StateSet</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.119.21">apply</A></B>(<!1><A HREF="State.html">State</A>&amp;) const  = 0
<DD><I>apply the OpenGL state attributes.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.119.22">compile</A></B>(<!1><A HREF="State.html">State</A>&amp;) const 
<DD><I>default to nothing to compile - all state is applied immediately.</I>
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  GLenum <B><A HREF="#DOC.2.119.1">GLMode</A></B>
<DD><I>GLMode is the value used in glEnable/glDisable(mode) </I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  unsigned int <B><A HREF="#DOC.2.119.2">GLModeValue</A></B>
<DD><I>GLModeValue is used to specified whether an mode is enabled (ON) or disabled (OFF).</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  unsigned int <B><A HREF="#DOC.2.119.3">OverrideValue</A></B>
<DD><I>Override is used to specified the override behavior of StateAttributes from from parent to children.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.119.4">Values</A></B>
<DD><I>list values which can be used in to set either GLModeValues or OverrideValues.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  unsigned int <B><A HREF="#DOC.2.119.5">Type</A></B>
<DD><I>Type identifier to differentiate between different state types.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum  <B><A HREF="#DOC.2.119.6">Types</A></B>
<DD><I>Values of StateAttribute::Type used to aid identification of different StateAttribute subclasses.</I>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <B><A HREF="#DOC.2.119.23">~StateAttribute</A></B>()
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>setDataVariance</B>(const <!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> dv)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const <!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> <B>getDataVariance</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>setUserData</B>(<!1><A HREF="Referenced.html">Referenced</A>* obj)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const <!1><A HREF="Referenced.html">Referenced</A>* <B>getUserData</B>() const 
</DL></P>

<P><DL>
<DT><H3>Public Members</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>enum  <B>DataVariance</B>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Object.html#DOC.2.87.8">DataVariance</A> <B>_dataVariance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Referenced.html">Referenced</A>&gt;  <B>_userData</B>
</DL></P>

</DL>
<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>ref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   void <B>unref_nodelete</B>() const 
<DT>
<IMG ALT="o" SRC=icon2.gif>inline   const int <B>referenceCount</B>() const 
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>mutable int <B>_refCount</B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Base class for state attribuets</BLOCKQUOTE>
<DL>

<A NAME="GLMode"></A>
<A NAME="DOC.2.119.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  GLenum GLMode</B></TT>
<DD>GLMode is the value used in glEnable/glDisable(mode) 
<DL><DT><DD></DL><P>
<A NAME="GLModeValue"></A>
<A NAME="DOC.2.119.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned int GLModeValue</B></TT>
<DD>GLModeValue is used to specified whether an mode is enabled (ON) or disabled (OFF).
GLMoveValue is also used to specify the override behavior of modes from parent to children. 
See enum Value description for more details.
<DL><DT><DD></DL><P>
<A NAME="OverrideValue"></A>
<A NAME="DOC.2.119.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned int OverrideValue</B></TT>
<DD>Override is used to specified the override behavior of StateAttributes
from from parent to children. 
See enum Value description for more details.
<DL><DT><DD></DL><P>
<A NAME="Values"></A>
<A NAME="DOC.2.119.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  Values</B></TT>
<DD>list values which can be used in to set either GLModeValues
or OverrideValues. When using in conjunction with GLModeValues
all Values have meaning.  When using in conjection with 
StateAttribute OverrideValue only OFF,OVERRIDE and INHERIT
are meaningful. However, they are useful when using GLModeValue 
and OverrideValue in conjunction with each other as when using
StateSet::setAttributeAndModes(..).
<DL><DT><DD></DL><P><DL>

<A NAME="OFF"></A>
<A NAME="DOC.2.119.4.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OFF</B></TT>
<DD>means that associated GLMode and Override is disabled
<DL><DT><DD></DL><P>
<A NAME="ON"></A>
<A NAME="DOC.2.119.4.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ON</B></TT>
<DD>means that associated GLMode is enabled and Override is disabled
<DL><DT><DD></DL><P>
<A NAME="OVERRIDE"></A>
<A NAME="DOC.2.119.4.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OVERRIDE</B></TT>
<DD>Overriding of GLMode's or StateAttributes is enabled
<DL><DT><DD></DL><P>
<A NAME="OVERRIDE_OFF"></A>
<A NAME="DOC.2.119.4.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OVERRIDE_OFF</B></TT>
<DD>Equivilant to OFF | OVERRIDE
<DL><DT><DD></DL><P>
<A NAME="OVERRIDE_ON"></A>
<A NAME="DOC.2.119.4.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OVERRIDE_ON</B></TT>
<DD>Equivilant to ON | OVERRIDE
<DL><DT><DD></DL><P>
<A NAME="INHERIT"></A>
<A NAME="DOC.2.119.4.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> INHERIT</B></TT>
<DD>means that GLMode or StateAttribute should in inherited from above
<DL><DT><DD></DL><P></DL>

<A NAME="Type"></A>
<A NAME="DOC.2.119.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned int Type</B></TT>
<DD>Type identifier to differentiate between different state types. 
<DL><DT><DD></DL><P>
<A NAME="Types"></A>
<A NAME="DOC.2.119.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  Types</B></TT>
<DD>Values of StateAttribute::Type used to aid identification
of different StateAttribute subclasses. Each subclass defines
it own value in the virtual Type getType() method.  When 
extending the osg's StateAttribute's simply define your
own Type value which is unique, using the StateAttribute::Type
enum as a guide of what values to use.  If your new subclass
needs to override a standard StateAttriubte then simple use 
that types value. 
<DL><DT><DD></DL><P><DL>

<A NAME="TEXTURE"></A>
<A NAME="DOC.2.119.6.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXTURE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="POLYGONMODE"></A>
<A NAME="DOC.2.119.6.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POLYGONMODE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="POLYGONOFFSET"></A>
<A NAME="DOC.2.119.6.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POLYGONOFFSET</B></TT>
<DL><DT><DD></DL><P>
<A NAME="MATERIAL"></A>
<A NAME="DOC.2.119.6.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MATERIAL</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ALPHAFUNC"></A>
<A NAME="DOC.2.119.6.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ALPHAFUNC</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ANTIALIAS"></A>
<A NAME="DOC.2.119.6.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ANTIALIAS</B></TT>
<DL><DT><DD></DL><P>
<A NAME="COLORTABLE"></A>
<A NAME="DOC.2.119.6.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> COLORTABLE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CULLFACE"></A>
<A NAME="DOC.2.119.6.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CULLFACE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="FOG"></A>
<A NAME="DOC.2.119.6.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FOG</B></TT>
<DL><DT><DD></DL><P>
<A NAME="FRONTFACE"></A>
<A NAME="DOC.2.119.6.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FRONTFACE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT"></A>
<A NAME="DOC.2.119.6.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_0"></A>
<A NAME="DOC.2.119.6.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_0</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_1"></A>
<A NAME="DOC.2.119.6.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_1</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_2"></A>
<A NAME="DOC.2.119.6.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_2</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_3"></A>
<A NAME="DOC.2.119.6.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_3</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_4"></A>
<A NAME="DOC.2.119.6.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_4</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_5"></A>
<A NAME="DOC.2.119.6.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_5</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_6"></A>
<A NAME="DOC.2.119.6.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_6</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHT_7"></A>
<A NAME="DOC.2.119.6.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHT_7</B></TT>
<DL><DT><DD></DL><P>
<A NAME="POINT"></A>
<A NAME="DOC.2.119.6.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POINT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LINEWIDTH"></A>
<A NAME="DOC.2.119.6.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEWIDTH</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LINESTIPPLE"></A>
<A NAME="DOC.2.119.6.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINESTIPPLE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="SHADEMODEL"></A>
<A NAME="DOC.2.119.6.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SHADEMODEL</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXENV"></A>
<A NAME="DOC.2.119.6.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXENV</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXGEN"></A>
<A NAME="DOC.2.119.6.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXGEN</B></TT>
<DL><DT><DD></DL><P>
<A NAME="TEXMAT"></A>
<A NAME="DOC.2.119.6.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXMAT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="LIGHTMODEL"></A>
<A NAME="DOC.2.119.6.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHTMODEL</B></TT>
<DL><DT><DD></DL><P>
<A NAME="BLENDFUNC"></A>
<A NAME="DOC.2.119.6.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BLENDFUNC</B></TT>
<DL><DT><DD></DL><P>
<A NAME="STENCIL"></A>
<A NAME="DOC.2.119.6.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STENCIL</B></TT>
<DL><DT><DD></DL><P>
<A NAME="COLORMASK"></A>
<A NAME="DOC.2.119.6.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> COLORMASK</B></TT>
<DL><DT><DD></DL><P>
<A NAME="DEPTH"></A>
<A NAME="DOC.2.119.6.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DEPTH</B></TT>
<DL><DT><DD></DL><P>
<A NAME="VIEWPORT"></A>
<A NAME="DOC.2.119.6.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> VIEWPORT</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE"></A>
<A NAME="DOC.2.119.6.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_0"></A>
<A NAME="DOC.2.119.6.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_0</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_1"></A>
<A NAME="DOC.2.119.6.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_1</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_2"></A>
<A NAME="DOC.2.119.6.36"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_2</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_3"></A>
<A NAME="DOC.2.119.6.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_3</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_4"></A>
<A NAME="DOC.2.119.6.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_4</B></TT>
<DL><DT><DD></DL><P>
<A NAME="CLIPPLANE_5"></A>
<A NAME="DOC.2.119.6.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLIPPLANE_5</B></TT>
<DL><DT><DD></DL><P>
<A NAME="COLORMATRIX"></A>
<A NAME="DOC.2.119.6.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> COLORMATRIX</B></TT>
<DL><DT><DD></DL><P></DL>

<A NAME="StateAttribute"></A>
<A NAME="DOC.2.119.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> StateAttribute()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="StateAttribute"></A>
<A NAME="DOC.2.119.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> StateAttribute(const <!1><A HREF="StateAttribute.html#DOC.2.119.8">StateAttribute</A>&amp; sa, const <!1><A HREF="CopyOp.html">CopyOp</A>&amp; copyop=CopyOp::SHALLOW_COPY)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="cloneType"></A>
<A NAME="DOC.2.119.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html">Object</A>* cloneType() const  = 0</B></TT>
<DD>Clone the type of an attribute, with Object* return type.
Must be defined by derived classes.
<DL><DT><DD></DL><P>
<A NAME="clone"></A>
<A NAME="DOC.2.119.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html">Object</A>* clone(const <!1><A HREF="CopyOp.html">CopyOp</A>&amp;) const  = 0</B></TT>
<DD>Clone an attribute, with Object* return type.
Must be defined by derived classes.
<DL><DT><DD></DL><P>
<A NAME="isSameKindAs"></A>
<A NAME="DOC.2.119.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(const <!1><A HREF="Object.html">Object</A>* obj) const </B></TT>
<DD>return true if this and obj are of the same kind of object
<DL><DT><DD></DL><P>
<A NAME="libraryName"></A>
<A NAME="DOC.2.119.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* libraryName() const </B></TT>
<DD>return the name of the attribute's library
<DL><DT><DD></DL><P>
<A NAME="className"></A>
<A NAME="DOC.2.119.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
<DD>return the name of the attribute's class type
<DL><DT><DD></DL><P>
<A NAME="getType"></A>
<A NAME="DOC.2.119.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const <!1><A HREF="StateAttribute.html#DOC.2.119.5">Type</A> getType() const  = 0</B></TT>
<DD>return the Type identifier of the attribute's class type
<DL><DT><DD></DL><P>
<A NAME="isTextureAttribute"></A>
<A NAME="DOC.2.119.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isTextureAttribute() const </B></TT>
<DD>return true if StateAttribute is a type which controls texturing and needs to be issued wrt to specific texture unit
<DL><DT><DD></DL><P>
<A NAME="compare"></A>
<A NAME="DOC.2.119.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int compare(const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; sa) const  = 0</B></TT>
<DD>return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
<DL><DT><DD></DL><P>
<A NAME="operator <  "></A>
<A NAME="DOC.2.119.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator <  (const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator == "></A>
<A NAME="DOC.2.119.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator == (const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator != "></A>
<A NAME="DOC.2.119.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator != (const <!1><A HREF="StateAttribute.html">StateAttribute</A>&amp; rhs) const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="getAssociatedModes"></A>
<A NAME="DOC.2.119.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void getAssociatedModes(std::vector&lt;<!1><A HREF="StateAttribute.html#DOC.2.119.1">GLMode</A>&gt;&amp; ) const </B></TT>
<DD>return the modes associated with this StateSet
<DL><DT><DD></DL><P>
<A NAME="apply"></A>
<A NAME="DOC.2.119.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="State.html">State</A>&amp;) const  = 0</B></TT>
<DD>apply the OpenGL state attributes. 
The global state for the current OpenGL context is passed
in to allow the StateAttribute to obtain details on the
the current context and state.
<DL><DT><DD></DL><P>
<A NAME="compile"></A>
<A NAME="DOC.2.119.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void compile(<!1><A HREF="State.html">State</A>&amp;) const </B></TT>
<DD>default to nothing to compile - all state is applied immediately. 
<DL><DT><DD></DL><P>
<A NAME="~StateAttribute"></A>
<A NAME="DOC.2.119.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~StateAttribute()</B></TT>
<DL><DT><DD></DL><P></DL>
<HR>
<DL><DT><B>Direct child classes:
</B><DD><A HREF="Viewport.html">Viewport</A><BR>
<A HREF="Texture.html">Texture</A><BR>
<A HREF="TexMat.html">TexMat</A><BR>
<A HREF="TexGen.html">TexGen</A><BR>
<A HREF="TexEnv.html">TexEnv</A><BR>
<A HREF="Stencil.html">Stencil</A><BR>
<A HREF="ShadeModel.html">ShadeModel</A><BR>
<A HREF="PolygonOffset.html">PolygonOffset</A><BR>
<A HREF="PolygonMode.html">PolygonMode</A><BR>
<A HREF="Point.html">Point</A><BR>
<A HREF="Material.html">Material</A><BR>
<A HREF="LineWidth.html">LineWidth</A><BR>
<A HREF="LineStipple.html">LineStipple</A><BR>
<A HREF="LightModel.html">LightModel</A><BR>
<A HREF="Light.html">Light</A><BR>
<A HREF="FrontFace.html">FrontFace</A><BR>
<A HREF="Fog.html">Fog</A><BR>
<A HREF="Depth.html">Depth</A><BR>
<A HREF="CullFace.html">CullFace</A><BR>
<A HREF="ColorMatrix.html">ColorMatrix</A><BR>
<A HREF="ColorMask.html">ColorMask</A><BR>
<A HREF="ClipPlane.html">ClipPlane</A><BR>
<A HREF="BlendFunc.html">BlendFunc</A><BR>
<A HREF="AlphaFunc.html">AlphaFunc</A><BR>
</DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
